Time stamping systems have a variety of uses. Often these systems are used by computer systems to determine the age of data. A time stamp is associated with each block of data when the data is originally written or modified. The computer system reads the time stamp for a particular block of data in order to determine the age of the block of data. Once the age of the data is known, the computer system can decide whether to keep the data, erase the data, or store the data in a different format.
Conventional time stamp systems are absolute. Absolute time stamp systems initiate a time clock when power is supplied to the system for the first time. As each block of data is written, a time stamp is associated with the block of data and stamped with the time the data was written. To determine the age of a block of data, a computer system must read the block's associated time stamp and subtract the value of the time stamp from the current value of the time clock.
Additionally, conventional time stamp systems are linear. Linear time stamp systems increment time stamps with each update cycle. In order to provide a time stamp system with a sufficiently wide range of time stamps, a relatively large block of memory is needed for each time stamp. A typical relatively large block of memory is 20 bits for each time stamp.